package com.baizhi;


import cn.afterturn.easypoi.excel.ExcelExportUtil;
import cn.afterturn.easypoi.excel.ExcelImportUtil;
import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.entity.ExportParams;
import cn.afterturn.easypoi.excel.entity.ImportParams;
import com.baizhi.dao.CmfzGuruDao;
import com.baizhi.entity.CmfzGuru;
import org.apache.poi.ss.usermodel.Workbook;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;

@RunWith(SpringRunner.class)
@SpringBootTest(classes=CmfzdemoApplication.class)
public class testeasyPoI {

    @Resource
    private CmfzGuruDao cmfzGuruDao;

    @Test
    public void  test1() throws IOException {
        List<CmfzGuru> cmfzGurus = cmfzGuruDao.selectList(null);

        for (CmfzGuru gurus : cmfzGurus) {
            //网络路径需要 启动项目
            gurus.setGuruImage("http://localhost:8989/cmfz/img/"+gurus.getGuruImage());
        }
        /**
         * 导出参数对象
         * 参数1 标题
         * 参数2 表的名字
         */
        ExportParams exportParams = new ExportParams("所有上师数据","gurus");
        /**
         * exportExcel 导出Excel文件
         * 参数1 导出参数对象
         * 参数2 要导出的实体类的类对象
         * 参数3 要导出的数据 需要一个集合  数据库查询出来的上师对象的集合
         *
         * 返回值就是封装好的文件对象 可以直接写出
         */

        Workbook workbook = ExcelExportUtil.exportExcel(exportParams, CmfzGuru.class, cmfzGurus);

        workbook.write(new FileOutputStream("F://框架阶段//easyPOI上师数据.xls"));


    }

    /**
     * 导入
     */
    @Test
    public void  test2() throws Exception {
        FileInputStream inputStream = new FileInputStream("F://框架阶段//easyPOI上师数据.xls");
        ImportParams importParams = new ImportParams();
        /**
         * ImportParams 导入参数对象
         * 定义标题栏和表头数据
         **/

        importParams.setTitleRows(1);
        importParams.setHeadRows(1);
        /**
         * importExcel  导入方法
         * 参数1 流 读取导入的文件
         * 参数2 要导入的实体类的类对象  上师对象的类对象
         *
         * 参数3  导入参数的对象
         */

        List<CmfzGuru> list = ExcelImportUtil.importExcel(inputStream, CmfzGuru.class, importParams);
        for (CmfzGuru cmfzGuru : list) {
            System.out.println(cmfzGuru);
        }

    }


}
